Printing apparatus and processing method therefor

ABSTRACT

A printing apparatus which prints by scanning a printhead in two directions based on raster data containing multi-valued data, sequentially stores multi-valued data contained in each raster data in a print buffer in correspondence with a predetermined direction of the two directions, acquires for each raster data, identification information corresponding to the multi-valued data stored in the print buffer first and identification information corresponding to the multi-valued data stored in the print buffer lastly for each tone value based on initial values of identification information and the number of multi-valued data contained in each raster data, generates bitmap data from the multi-valued data using pattern data read out based on identification information selected based on a scanning direction of the printhead, and controls printing of the printhead based on the generated bitmap data.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a printing apparatus and a processingmethod therefor.

2. Description of the Related Art

A printing apparatus which prints on a printing medium is known. Whenthe printing apparatus receives data from, e.g., a host, it rasterizesthe received data into binary bitmap data. The printing apparatus thentransfers the bitmap data to a printhead to print it. Binary bitmap dataor multi-valued data is sent from the host to the printing apparatus. Ifthe sent data is multi-valued data, the printing apparatus rasterizesit. The rasterization timing is, for example, the time of H/V conversionof data when it is stored in a buffer or the time of sending data to theprinthead (printhead control unit) when multi-valued data is stored inthe buffer intact.

If a fixed rasterization table (dot matrix) alone is set for the tone ofeach pixel in preparation for the above-mentioned rasterization, asingle rasterization pattern is obtained for the same tone. Suchrasterization into a fixed pattern may generate stripes andnonuniformity attributed to nozzle contamination or a variation innozzle discharge amount.

To combat this situation, one known method sets a plurality of dotmatrices for the tone of each pixel, selects one of these plurality ofdot matrices, and rasterizes the selected dot matrix. In this case, apattern corresponding to each tone is not fixed and therefore theprinting result is less subject to, e.g., nozzle contamination.

Some methods of selecting one of a plurality of dot matrices have beenproposed. Examples of these methods are a method of selection based onthe column position, a method of random selection by generating randomnumbers, and a method of changing the dot matrix for use inrasterization of a given tone every time data with the given toneappears (Japanese Patent Laid-Open Nos. 2000-141617 and 2004-209765).

In the method of selection by changing the dot matrix for use inrasterization of a given tone every time data with the given toneappears, it is often the case that the results of printing the same datain only the forward direction and in both the forward and backwarddirections are inconsistent with each other.

This inconsistency between these printing results will be explainedherein. To rasterize a raster in the forward direction in forwardprinting, the initial value of the pattern number is set for the rasterleading edge, dot matrices are sequentially selected based on the setinitial value, and respective data within the raster are rasterizedusing the selected matrices. In contrast, to rasterize a raster in thebackward direction in backward printing, the initial value of thepattern number is set for the raster trailing edge, dot matrices aresequentially selected based on the set initial value, and respectivedata within the raster are rasterized using the selected matrices. As aresult, even data with the same tone at the same position is rasterizedin a pattern which differs between when rasterization starts from theraster leading edge and when rasterization starts from the rastertrailing edge. In other words, when the matrix is changed every timedata appears in rasterization in the forward raster direction (forwarddirection), the pattern at the raster trailing edge, which has aninitial value in rasterization in the backward raster direction(backward direction), differs depending on the number of tones withinthe raster.

SUMMARY OF THE INVENTION

The present invention provides a technique for making the results ofone-way printing and two-way printing consistent with each other in anarrangement which changes the dot matrix for use in rasterization of agiven tone every time data with the given tone appears.

According to a first aspect of the present invention there is provided aprinting apparatus which prints by scanning a printhead in twodirections based on raster data containing multi-valued data, theapparatus comprising: a print buffer configured to store a plurality ofraster data; a buffer control unit configured to sequentially storemulti-valued data contained in each raster data in the print buffer incorrespondence with a predetermined direction of the two directions; apattern buffer configured to store pattern data corresponding to a tonevalue of the multi-valued data; an acquisition unit configured toacquire, for each raster data, identification information correspondingto the multi-valued data stored in the print buffer first andidentification information corresponding to the multi-valued data storedin the print buffer lastly for each tone value based on initial valuesof identification information and the number of multi-valued datacontained in each raster data; a generation unit configured to generatebitmap data from the multi-valued data using pattern data read out fromthe pattern buffer based on one identification information selected fromthe two pieces of identification information based on a scanningdirection of the printhead for each scanning of the printhead; and aprint control unit configured to control printing of the printhead basedon the bitmap data generated by the generation unit.

According to a second aspect of the present invention there is provideda processing method for a printing apparatus which includes a patternbuffer configured to store pattern data corresponding to a tone value ofmulti-valued data, and prints by scanning a printhead in two directionsbased on raster data containing the multi-valued data, the methodcomprising: sequentially storing multi-valued data contained in eachraster data in the print buffer in correspondence with a predetermineddirection of the two directions; acquiring, for each raster data,identification information corresponding to the multi-valued data storedin the print buffer first and identification information correspondingto the multi-valued data stored in the print buffer lastly for each tonevalue based on initial values of identification information and thenumber of multi-valued data contained in each raster data; generatingbitmap data from the multi-valued data using pattern data read out fromthe pattern buffer based on one identification information selected fromthe two pieces of identification information based on a scanningdirection of the printhead for each scanning of the printhead; andcontrolling printing of the printhead based on the bitmap data generatedin the generating the bitmap data.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view showing an example of the outer arrangementof an inkjet printing apparatus 1 according to one embodiment of thepresent invention;

FIG. 2 is a block diagram showing an example of the functionalconfiguration of the printing apparatus 1 shown in FIG. 1;

FIG. 3 is a block diagram showing an example of the functionalconfiguration of a printing system according to one embodiment of thepresent invention;

FIG. 4 is a view showing an example of the outline of reception datasent from a reception buffer 102 to a raster control unit 103;

FIG. 5 is a table showing an example of rasterization patternscorresponding to respective tones;

FIG. 6 is a diagram for explaining the outline of a method of selectingrasterization tables in correspondence with respective tones;

FIG. 7 is a flowchart illustrating an example of the process sequence inthe printing apparatus 1 shown in FIG. 3;

FIG. 8 is a table showing a modification;

FIGS. 9A to 9C are tables showing an example of the outline of a rasterdata rasterization process; and

FIGS. 10A and 10B are tables showing an example of pattern numbersstored in a right edge information memory 105 and left edge informationmemory 106 shown in FIG. 3.

DESCRIPTION OF THE EMBODIMENTS

An exemplary embodiment(s) of the present invention will now bedescribed in detail with reference to the drawings. It should be notedthat the relative arrangement of the components, the numericalexpressions and numerical values set forth in these embodiments do notlimit the scope of the present invention unless it is specificallystated otherwise.

Preferred embodiments of the present invention will be described indetail below with reference to the accompanying drawings. In thefollowing description, a printing apparatus using an inkjet printingmethod will be exemplified. The printing apparatus using the inkjetprinting method may be, for example, a single-function printer havingonly a print function, or a multi-function printer having a plurality offunctions including a print function, FAX function, and scannerfunction. Also, the printing apparatus using the inkjet printing methodmay be a manufacturing apparatus for manufacturing a color filter,electronic device, optical device, microstructure, or the like by theinkjet printing method.

In this specification, “printing” means not only forming significantinformation such as characters or graphics but also forming, forexample, an image, design, pattern, or structure on a printing medium ina broad sense regardless of whether the formed information issignificant, or processing the medium as well. In addition, the formedinformation need not always be visualized so as to be visuallyrecognized by humans.

Also, a “printing medium” means not only a paper sheet for use in ageneral printing apparatus but also a member which can fix ink, such ascloth, plastic film, metallic plate, glass, ceramics, resin, lumber, orleather in a broad sense.

Also, “ink” should be interpreted in a broad sense as in the definitionof “printing” mentioned above, and means a liquid which can be used toform, for example, an image, design, or pattern, process a printingmedium, or perform ink processing upon being supplied onto the printingmedium. The ink processing includes, for example, solidification orinsolubilization of a coloring material in ink supplied onto a printingmedium.

FIG. 1 is a perspective view showing an example of the outer arrangementof an inkjet printing apparatus 1 according to one embodiment of thepresent invention.

The inkjet printing apparatus (to be simply referred to as a printingapparatus hereinafter) 1 includes an inkjet printhead (to be simplyreferred to as a printhead hereinafter) 3 which is mounted on a carriage2 and prints by discharging ink in accordance with the inkjet scheme.The printing apparatus 1 prints by reciprocally moving the carriage 2 inthe direction indicated by the two-headed arrow A. The printingapparatus 1 supplies a printing medium P such as a printing sheet via asheet supply mechanism 5 and conveys it to the printing position. Theprinting apparatus 1 prints at the printing position by discharging inkfrom the printhead 3 to the printing medium P.

The carriage 2 of the printing apparatus 1 mounts, for example, an inkcartridge 6, in addition to the printhead 3. The ink cartridge 6 storesink to be supplied to the printhead 3. Note that the ink cartridge 6 isdetachable from the carriage 2. The printing apparatus 1 shown in FIG. 1can print in color. For this reason, the carriage 2 mounts four inkcartridges which respectively store magenta (M), cyan (C), yellow (Y),and black (K) inks. These four ink cartridges can be independentlyattached/detached.

The printhead 3 according to this embodiment adopts the inkjet scheme inwhich ink is discharged using thermal energy. For this reason, theprinthead 3 includes electrothermal transducers. The electrothermaltransducers are disposed in correspondence with respective dischargeorifices, and a pulse voltage is applied to a correspondingelectrothermal transducer in accordance with a printing signal. Withthis operation, ink is discharged from a corresponding dischargeorifice.

FIG. 2 is a block diagram showing an example of the functionalconfiguration of the printing apparatus 1 shown in FIG. 1.

The printing apparatus 1 holds a plurality of rasterization tables(pattern data or dot matrices) in correspondence with the respectivetones of multi-valued data, and rasterizes the multi-valued data intobitmap data using one of these rasterization tables. The printingapparatus 1 then prints a halftone image based on the obtained bitmapdata. The printing apparatus 1 according to this embodiment changes therasterization table for use in rasterization of a given tone every timedata with the given tone appears. Hence, even data with the same toneare rasterized in different patterns.

A controller 600 includes, e.g., an MPU 601, ROM 602, ASIC (ApplicationSpecific Integrated Circuit) 603, RAM 604, system bus 605, and A/Dconverter 606. The ROM 602 stores a program corresponding to a controlsequence (to be described later), necessary tables, and other fixeddata. The ASIC 603 controls a carriage motor M1 and conveyance motor M2.Also, the ASIC 603 generates a signal to control the printhead 3. TheRAM 604 is used as, e.g., an image data rasterization area and a workingarea for program execution. The system bus 605 connects the MPU 601,ASIC 603, and RAM 604 to each other to transfer data among them. The A/Dconverter 606 A/D-converts an analog signal input from a sensor group(to be described later) and supplies the converted digital signal to theMPU 601.

A switch group 620 includes, e.g., a power supply switch 621, printswitch 622, and recovery switch 623. A sensor group 630 for detectingthe apparatus state includes, e.g., a position sensor 631 andtemperature sensor 632.

In print scanning by the printhead 3, the ASIC 603 transfers data todrive a printing element (discharge heater) to the printhead 3 whiledirectly accessing the storage area of the RAM 604.

The carriage motor M1 is a driving source for reciprocally scanning thecarriage 2 in the direction indicated by the two-headed arrow A, and acarriage motor driver 640 controls the driving of the carriage motor M1.The conveyance motor M2 is a driving source for conveying the printingmedium P, and a conveyance motor driver 642 controls the driving of theconveyance motor M2. A printhead control unit 644 controls the printhead3 based on printing data input from the controller 600. The printhead 3is scanned in a direction (to be referred to as the scanning directionhereinafter) perpendicular to the direction in which the printing mediumP is conveyed. The printhead 3 prints in one of a one-way print mode anda two-way print mode.

A computer (or, e.g., an image reader or a digital camera) 610 servingas an image data supply source is generically called, for example, ahost device. Image data, commands, and status signals, for example, aretransferred between the host device 610 and the printing apparatus 1 viaan interface (to be abbreviated as an I/F hereinafter) 611. This imagedata is input as data in the form of a raster (to be referred to asraster data hereinafter).

FIG. 3 is a block diagram showing an example of the functionalconfiguration of the controller 600 shown in FIG. 2.

The controller 600 includes the I/F 611, a reception buffer 102, a printbuffer 104, a rasterization unit 107, and an acquisition unit 113. Thecontroller 600 also includes a printing direction holding unit 108,rasterization table storage unit (pattern table storage unit) 109,selector 110, working memory 111, and table acquisition unit 112.

The I/F 611 receives data in the form of a raster (i.e., raster data)from the host device 610. The reception buffer 102 temporarily storesthe data received from the host device 610 as reception data. The datastored in the reception buffer 102 is formed from raster data (to bealso sometimes simply referred to as a raster hereinafter). The rasterdata stored in the reception buffer 102 is sent to a raster control unit103 for each raster.

The acquisition unit 113 which acquires pattern numbers will beexplained next. The acquisition unit 113 includes the raster controlunit 103, a right edge information memory 105, and a left edgeinformation memory 106. The left edge information memory 106 functionsas a first storage unit and stores the initial value of theidentification number (to be referred to as the pattern numberhereinafter) of the raster leading edge (raster left edge). Theacquisition unit 113 stores, in the left edge information memory 106, aninitial value for, e.g., raster data received first after the printingapparatus is turned on. In another example, when the acquisition unit113 receives a print job for printing images on a plurality of pages, itoften stores, in the left edge information memory 106, an initial valuefor the first raster data in this job. This initial value of the patternnumber is stored in correspondence with each tone. Note that the patternnumber is a number set in correspondence with each rasterization table.The initial value of the raster left edge can be set arbitrarily. Forexample, in the left edge information memory 106, a predetermined value(“1”) is set.

The right edge information memory 105 functions as a second storage unitand stores the pattern number of the raster trailing edge (raster rightedge). This pattern number will be described later. The initial value ofthis pattern number is set in correspondence with each tone.

The raster control unit 103 acquires data from the reception buffer 102for each raster, performs H/V (horizontal-vertical) conversion of theacquired raster, and stores the converted data in the print buffer 104.In this storage, the raster control unit 103 determines the tone of eachdata (multi-valued data) within the raster. The raster control unit 103acquires the pattern numbers of rasterization tables corresponding torespective tones, stored in the left edge information memory 106, andcounts up or down the acquired pattern numbers every time multi-valueddata with the same tone appears. With this operation, the raster controlunit 103 sets rasterization tables (pattern tables) for respectivemulti-valued data contained in one raster. After setting rasterizationtables corresponding to one raster, the raster control unit 103 storesthe counted up or down pattern numbers of rasterization tablescorresponding to respective tones in the right edge information memory105. In this manner, the pattern number stored in the right edgeinformation memory 105 is determined based on the pattern number storedin the left edge information memory 106 and the number of multi-valueddata with the same tone. To put it another way, the left edgeinformation memory 106 stores a pattern number corresponding tomulti-valued data stored first, and the right edge information memory105 stores a pattern number corresponding to multi-valued data storedlastly. Although pattern numbers are acquired before raster data isstored in the print buffer 104 in this embodiment, they may be acquiredafter raster data is stored in the print buffer 104.

The printing direction holding unit 108 holds printing directiondesignation information indicating the scanning direction, i.e., theprinting direction of the printhead 3. This printing directiondesignation information is held for each raster.

The rasterization table storage unit 109 functions as a matrix storageunit which stores a rasterization table (dot matrix). A plurality ofrasterization tables are held for each tone. The size of a rasterizationtable depends on the quantization number (tone value) for quantizingmulti-valued data. Note that in this embodiment, serial pattern numbersare assigned to rasterization tables for use in rasterization ofmulti-valued data with the same tones.

The selector 110 determines the printing direction based on the printingdirection designation information, selects the data in the left edgeinformation memory 106 in forward printing, and selects the data in theright edge information memory 105 in backward printing. With thisoperation, pattern numbers corresponding to the printing direction arestored in the working memory 111. Note that whether to select the leftedge information memory 106 or right edge information memory 105 as asource from which pattern numbers are acquired is switched every time,for example, printing corresponding to the printing width of theprinthead 3 is completed.

The table acquisition unit 112 acquires rasterization tables from therasterization table storage unit 109 prior to rasterization of rasterdata. The acquisition of rasterization tables is performed for eachraster. More specifically, the numbers of patterns rasterized in theworking memory 111 are acquired as initial values, and thenrasterization tables corresponding to the pattern numbers aresequentially acquired while counting up or down the acquired patternnumbers every time multi-valued data with the same tone appears.

The rasterization unit 107 acquires data from the print buffer 104 foreach raster, and rasterizes the acquired raster into bitmap data. Thisrasterization is performed using the rasterization tables acquired bythe table acquisition unit 112. The bitmap data rasterized by therasterization unit 107 is sent to the printhead control unit 644. Withthis operation, the printhead control unit 644 prints by controlling theprinthead 3 based on the sent bitmap data.

FIG. 4 is a view showing an example of the outline of reception datasent from the reception buffer 102 to the raster control unit 103.

Rasters are sent from the reception buffer 102 to the raster controlunit 103 one by one from the raster leading edge (raster left edge). Theraster control unit 103 performs H/V conversion of the sent raster,stores the converted data in the print buffer 104 for each column, andupdates the pattern numbers of rasterization tables based on the tonevalue of multi-valued data 201. Rasters are transferred from thereception buffer 102 to the raster control unit 103 in a direction M.Reference numeral 205 denotes the first pixel (a pixel transferredfirst); and 206, the last pixel. After the H/V conversion process, theraster control unit 103 writes the current pattern numbers in the rightedge information memory 105.

As described above, each tone has a plurality of rasterization patterns(rasterization tables). When, for example, four types of rasterizationtables 1 to 4 are set in correspondence with respective tones, therasterization results each are 4-bit (2×2) data, as shown in FIG. 5. Theraster control unit 103 switches the pattern number every time, forexample, data with each tone appears, and updates the pattern so thatthe pattern number returns to 1 (minimum value) after reaching 4(maximum value), as shown in FIG. 6.

The outline of a raster data rasterization process will be explainedherein with reference to FIGS. 9A to 9C.

FIG. 9A shows an example of multi-valued data stored in the print buffer104 shown in FIG. 3. For the sake of easy explanation, a case in whichthe print buffer 104 has a size of 9 pixels in a direction A and 3pixels in a direction B will be exemplified herein.

The print buffer 104 includes 9-pixel areas for each of three rasters(N, N+1, N+2). In this case, the print buffer 104 stores tone data ofthree types (00, 01, 02). The direction A is the printhead scanningdirection, and the direction B is the direction in which electrothermaltransducers (printing elements) are arrayed.

A concrete example of the method of assigning the pattern numbers ofrasterization tables described with reference to FIG. 6 will be givennext. FIG. 9B shows a case in which pattern numbers are assigned to tonedata 01 shown in FIG. 9A, and FIG. 9C shows a case in which patternnumbers are assigned to tone data 02 shown in FIG. 9A.

In the pattern number assignment, first, pattern numbers are assigned totone data 01 in raster N in the direction A, as shown in FIG. 9B. Then,pattern numbers are similarly assigned to tone data 01 in rasters N+1and N+2. Pattern numbers are also assigned to tone data 02 in the sameway as in tone data 01, as shown in FIG. 9C. Note that pixels indicatedby hatched portions in FIGS. 9B and 9C mean pixels for which nocorresponding tone data are present.

Pattern numbers stored in the right edge information memory 105 and leftedge information memory 106 shown in FIG. 3 will be explained next withreference to FIGS. 10A and 10B. For the sake of easy explanation, a casein which the right edge information memory 105 and left edge informationmemory 106 each hold pieces of information corresponding to threerasters in bi-directional (two-way) printing mode (bi-directional scanmode) will be exemplified herein.

FIG. 10A shows pattern numbers stored in the right edge informationmemory 105 and left edge information memory 106 when the pattern numbersshown in FIG. 9B are assigned. Reference numeral 105A denotes patternnumbers stored in the right edge information memory 105 for tone data01; and 106A, pattern numbers stored in the left edge information memory106 for tone data 01. The right edge information memory 105 stores thepattern numbers of respective rasters at the right edges in turn fromthe left. For example, the pattern number of tone data 01 at the rightedge in raster N is “1”, as shown in FIG. 9B. Hence, “1” is stored ataddress 1 of the right edge information memory 105 shown in FIG. 10A.Also, the pattern number of tone data 01 at the left edge in raster N is“1”, as shown in FIG. 9B. Hence, “1” is stored at address 1 of the leftedge information memory 106 shown in FIG. 10A. Similarly, the patternnumber of tone data 01 at the right edge in raster N+1 is “4”, as shownin FIG. 9B. Hence, “4” is stored at address 2 of the right edgeinformation memory 105 shown in FIG. 10A. Also, the pattern number oftone data 01 at the left edge in raster N+1 is “2”, as shown in FIG. 9B.Hence, “2” is stored at address 2 of the left edge information memory106 shown in FIG. 10A. Similarly, for tone data 01 in raster N+2, “2” isstored at address 3 of the right edge information memory 105, and “1” isstored at address 3 of the left edge information memory 106, as shown inFIG. 10A. It is noted that, in one-way printing (scan) mode,predetermined value (“1”) is stored at all address of the left edgeinformation memory 106.

FIG. 10B shows pattern numbers stored in the right edge informationmemory 105 and left edge information memory 106 when the pattern numbersshown in FIG. 9C are assigned. Reference numeral 105B denotes patternnumbers stored in the right edge information memory 105 for tone data02; and 106B, pattern numbers stored in the left edge information memory106 for tone data 02. In this case as well, the pattern numbers of tonedata 02 at both the right and left edges are stored in the respectivememories, as in the case explained with reference to FIGS. 9B and 10A.It is noted that, in one-way printing (scan) mode, predetermined value(“1”) is stored at all address of the left edge information memory 106.

The raster control unit 103 shown in FIG. 3 includes a register whichholds pattern numbers for the above-mentioned pattern number assignment.The initial value of the pattern number is set to “1” in raster N, asshown in FIG. 9B. Subsequent pattern numbers are set based on the updaterule (assignment rule) described with reference to FIG. 6.

An example of the process sequence in the printing apparatus 1 shown inFIG. 3 will be explained herein with reference to FIG. 7. Note that aprocess after the printing apparatus 1 receives data from the hostdevice 610 will be explained.

When the printing apparatus 1 receives data from the host device 610, itstores the received data in the reception buffer 102 as reception data(S101). The raster control unit 103 acquires data from the receptionbuffer 102 for each raster, performs H/V conversion of the acquiredraster, and determines the tone of each data within the raster (S102).The pattern numbers of rasterization tables are updated incorrespondence with the tones of respective data (S103). In this patternnumber updating, the initial values of pattern numbers corresponding torespective tones are acquired from the left edge information memory 106,and the pattern numbers are set for respective data based on theacquired initial values. For example, the pattern number is counted upevery time data with the same tone appears, and the correspondingpattern number is set for each data.

When the pattern number updating is ended, the raster control unit 103stores rasters of multi-valued data in the print buffer 104 (S104). Atthis time, the raster control unit 103 stores, in the right edgeinformation memory 105, the pattern number (last value) at the timepoint when processing of one raster is completed. The raster controlunit 103 further stores, in the left edge information memory 106(106Aand 106B), the pattern number (initial value) in bi-directional printingmode (bi-directional(two-way) scan mode) as shown in FIG. 10A and FIG.10B (S105). The processes from step S102 to step S105 are repeated untilall rasters have been processed (NO in step S106).

After the processes up to step S105, the printing apparatus 1 starts arasterization process. At the start of this process, first, the printingapparatus 1 determines, by the selector 110, the rasterization direction(printing direction) of a target raster. This determination is donebased on the printing direction designation information held in theprinting direction holding unit 108. If the raster is to be printed inthe forward direction (YES in step S107), the selector 110 selects thedata in the left edge information memory 106. With this operation, thepattern number stored in the left edge information memory 106 is storedin the working memory 111 (S108). If the raster is to be printed in thebackward direction (NO in step S107), the selector 110 selects the datain the right edge information memory 105. With this operation, thepattern number stored in the right edge information memory 105 is storedin the working memory 111 (S109).

When the initial value of the pattern number is read out to the workingmemory 111, the printing apparatus 1 confirms, by the rasterization unit107, the data rasterization direction based on the printing directiondesignation information held in the printing direction holding unit 108.After confirming the rasterization direction, the printing apparatus 1reads out, by the rasterization unit 107, multi-valued data from theprint buffer 104, and acquires, by the table acquisition unit 112, arasterization table based on the initial value of the pattern numberstored in the working memory 111. The printing apparatus 1 thenrasterizes, by the rasterization unit 107, the multi-valued data intobitmap data based on the acquired rasterization table and therasterization direction (S110). For example, in rasterization in theforward raster direction (forward direction), the initial value of thepattern number is read out from the left edge information memory 106,and the pattern number is counted up every time data with the same toneappears. In rasterization in the backward raster direction (backwarddirection), the initial value of the pattern number is read out from theright edge information memory 105, and the pattern number is counteddown every time data with the same tone appears. The updated patternnumber is stored in the working memory 111 for each updating. The datarasterized into bitmap data by the rasterization unit 107 is sent fromthe rasterization unit 107 to the printhead control unit 644 (S111).With this operation, the printhead control unit 644 prints bycontrolling the printhead 3 based on the sent bitmap data. The processesfrom step S107 to step S112 are repeated until all rasters have beenprocessed (NO in step S112).

Note that the process sequence explained with reference to FIG. 7 ismerely an example, so the process sequence in the printing apparatus 1is not limited to this, and can be changed as needed. For example,bitmap data may be sent to the printhead control unit 644 afterrasterization of bitmap data in all rasters is completed. Also, some ofthe above-mentioned processes may be done in parallel.

As has been described above, according to this embodiment, it ispossible to make the results of one-way printing and two-way printingconsistent with each other in an arrangement which changes therasterization table for use in rasterization of a given tone every timedata with the given tone appears. Also, because the above-mentionedarrangement stores input data in the print buffer 104 intact asmulti-valued data, it can suppress the memory capacity. Moreover,because the above-mentioned arrangement holds a plurality ofrasterization tables in correspondence with respective tones andperforms rasterization using one of these rasterization tables, it canreduce stripes and nonuniformity.

As described above, the initial value of the raster leading edge (rasterleft edge) can be set arbitrarily. When the initial value is setarbitrarily, it is possible to prevent pattern fixing even if identicaldata continue in a plurality of rasters in the vertical direction.

Although the foregoing is one exemplary embodiment of the presentinvention, the present invention is not limited to the embodiment whichhas been described above and shown in the drawings, and can beappropriately modified and practiced without changing the gist thereof.

For example, although a case in which multi-valued data is rasterizedinto bitmap data based on one of four 4-bit rasterization patterns ofeach tone has been exemplified in the above-described embodiment, thepresent invention is not limited to this. For example, the rasterizationpattern may be fixed. Also, rasterization may be performed using arasterization table for rasterizing multi-valued data into 2- or 8-bitdata as the rasterization pattern.

Also, although a case in which one multi-valued data is rasterized inone plane has been exemplified in the above-described embodiment, onemulti-valued data may be rasterized in a plurality of planes. In thiscase, the initial values and last values of the pattern numbers andrasterization tables are used in number equal to planes. FIG. 8 shows anexample of rasterization tables for rasterizing one multi-valued data intwo planes. The rasterization tables shown in FIG. 8 are effective inrasterizing a large nozzle and a small nozzle at once. In this case,rasterization is performed using a rasterization table A as a plane forthe small nozzle, and a rasterization table B as a plane for the largenozzle.

Further, although whether to update the pattern numbers for all tonedata or for one or a plurality of arbitrary tone data, for example, isnot mentioned in the above-described embodiment, either choice isacceptable. In the latter case, it is possible to, for example, suppressthe memory capacity.

As has been described above, according to the present invention, it ispossible to make the results of one-way printing and two-way printingconsistent with each other in an arrangement which changes the dotmatrix for use in rasterization of a given tone every time data with thegiven tone appears.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2009-043147 filed on Feb. 25, 2009, which is hereby incorporated byreference herein in its entirety.

1. A printing apparatus which prints by scanning a printhead in twodirections based on raster data containing multi-valued data, theapparatus comprising: a print buffer configured to store a plurality ofraster data; a buffer control unit configured to sequentially storemulti-valued data contained in each raster data in said print buffer incorrespondence with a predetermined direction of the two directions; apattern buffer configured to store pattern data corresponding to a tonevalue of the multi-valued data; an acquisition unit configured toacquire, for each raster data, identification information correspondingto the multi-valued data stored in said print buffer first andidentification information corresponding to the multi-valued data storedin said print buffer lastly for each tone value based on initial valuesof identification information and the number of multi-valued datacontained in each raster data; a generation unit configured to generatebitmap data from the multi-valued data using pattern data read out fromsaid pattern buffer based on one identification information selectedfrom the two pieces of identification information based on a scanningdirection of the printhead for each scanning of the printhead; and aprint control unit configured to control printing of the printhead basedon the bitmap data generated by said generation unit. 2.-6. (canceled)